/**
 * Project Name:ProductOrder.java
 * File Name:ProductOrder.java
 * Date:2019/3/18 15:58
 * Copyright (c) 2019, zhang.xiangyu@foxmail.com All Rights Reserved.
 */
package com.meatball.order.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.databind.ser.std.DateSerializer;
import com.meatball.base.BaseEntity;
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Title: ProductOrder.java
 * @Description: todo(商品订单)
 * @Author: 張翔宇
 * @Date: 2019/3/18 15:58
 * @Version: V1.0
 */
@Data
@Document(value = "product_order")
public class ProductOrder extends BaseEntity {
    /**
     * 商品单号
     */
    private String productorderNo;

    /**
     * 总订单id
     */
    private String blanketOrderId;

    /**
     * 油站id
     */
    private String oilStationId;

    /**
     * 班组id
     */
    private String squadId;

    /**
     * 班组执勤Id
     */
    private String dutyId;

    /**
     * 收银员ID
     */
    private String staffId;

    /**
     * 收银员名称
     */
    private String salesperson;

    /**
     * 会员id
     */
    private String memberId;

    /**
     * 会员名称
     */
    private String memberName;

    /**
     * 会员编号
     */
    private String memberNum;

    /**
     * 会员手机号
     */
    private String memberPhone;

    /**
     * 数量
     */
    private BigDecimal quantity;

    /**
     * 商品金额
     */
    private BigDecimal proMoney;

    /**
     * 商品优惠
     */
    private BigDecimal discounts;

    /**
     * 实际支付
     */
    private BigDecimal copeWith;

    /**
     * 退款
     */
    private BigDecimal refundMoney;

    /**
     * 订单生成时间
     */
    @JSONField(serializeUsing = DateSerializer.class)
    private Date orderGenerationTime;

    /**
     * 订单完成时间
     */
    @JSONField(serializeUsing = DateSerializer.class)
    private Date orderCompletionTime;

    /**
     * 支付信息
     */
    private String paymentId;

    /**
     * 支付编号
     */
    private String paymentNumber;

    /**
     * 支付种类
     */
    private Integer paymentType;

    /**
     * 支付方式
     */
    private Integer paymentMethod;

    /**
     * 订单来源
     */
    private Integer orderSource;

    /**
     * 结算方式
     */
    private Integer tradeType;

    /**
     * 版本，0基础版，1减配版，2标准版
     */
    private Integer version;

    /**
     * 退款状态，0正常 1退款 2部分退款
     */
    private Integer refundSta;

    /**
     * 订单状态
     */
    private Integer proSta;
}
